﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using OreSystem.Entities;
using OreSystem.DAL;
namespace OreSystem.BLL {
    public class LevelBll {
        private LevelDAL levelDAL = new LevelDAL();        
        public IList<Level> GetAll() {
            return levelDAL.GetALL();
        }        
        public IList<Level> GetLevelByLevel(int layer) {
            return levelDAL.GetLevelByLevel(layer);
        }

        public void AddLevel(Level level) {
            levelDAL.Add(level);
        }

        public Level GetLevelById(int id) {
            return levelDAL.GetLevelById(id);
        }

        public void DeleteByID(int id)
        {            
            levelDAL.Delete(levelDAL.GetLevelById(id));
        }

        public void SaveLevel(Level level)
        {
            levelDAL.Add(level);
        }
        public void Update(Level level)
        {
            levelDAL.Update(level);
        }
        public string GetPathById(int id) {
            if (id == 0) {
                return "0";
            }
            return levelDAL.GetLevelById(id).Path + "_" + id.ToString();
        }

        public IList<Level> GetListByKey(string keys,int layer) {
            return levelDAL.GetListByKey(keys,layer);
        }

        public IList<Level> GetListByPage(int id, int page, int rows)
        {
            return GetLevelByLevel(id).Skip(page * rows).Take(rows).ToList();
        }

        public void deletes(IList<object> idlist)
        {
            levelDAL.deletes(idlist);
        }
    }
}
